# coding=utf8
print all([0, 1])
print any([0, 1])
print filter(lambda n: n % 2 == 1, [1, 2, 3, 4])
print '{},{}'.format('hello', 'world')  # 不设置指定位置，按默认顺序
print '{0} {1}'.format("hello", "world")  # 设置指定位置
print "{1} {0} {1}".format("hello", "world")  # 设置指定位置
print isinstance(2, int)
print isinstance('2', int)
print isinstance(2, (int, str))


# type() 与 isinstance()区别：
class A:
    pass


class B(A):
    pass


print isinstance(A(), A)  # returns True
print type(A()) == A  # returns True
print isinstance(B(), A)  # returns True
print type(B()) == A  # returns False

# 如果 class 是 classinfo 的子类返回 True，否则返回 False。
print(issubclass(B, A))  # 返回 True
print reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
l = [1, 2, 3]
l.reverse()
print l
print range(10)[slice(3)]
print sorted([3, 1, 2], lambda x, y: cmp(x, y))
# xrange() 函数用法与 range 完全相同，所不同的是生成的不是一个数组，而是一个生成器。
print list(xrange(5))

a = [1, 2, 3]
b = [4, 5, 6]
zip1 = zip(a, b)
print zip1
print  zip(*zip1)
exec 'for i in range(5):print i'
